JPI UML Software Modeling Aspect-Oriented Modeling for Modular Software
نویسندگان
چکیده
Aspect-Oriented Programming AOP extends object-oriented programming OOP with aspects to modularize crosscutting behavior on classes by means of aspects to advise base code in the occurrence of join points according to pointcut rules definition. However, join points introduce dependencies between aspects and base code, a great issue to achieve an effective independent development of software modules. Join Point Interfaces JPI represent join points using interfaces between classes and aspect, thus these modules do not depend of each other. Nevertheless, since like AOP, JPI is a programming methodology; thus, for a complete aspect-oriented software development process, it is necessary to define JPI requirements and JPI modeling phases. Towards previous goal, this article proposes JPI UML class and sequence diagrams for modeling JPI software solutions. A purpose of these diagrams is to facilitate understanding the structure and behavior of JPI programs. As an application example, this article applies the JPI UML diagrams proposal on a case study and analyzes the associated JPI code to prove their hegemony. Keywords—JPI; UML; AOP; JPI UML Class Diagram; JPI UML Sequence Diagram
منابع مشابه
Incorporating Aspects into the UML
As aspect-oriented programming techniques move into mainstream use, it is likely that more software developers will be modeling systems with aspect-oriented features using the Unified Modeling Language. And with the Object Management Group considering revised standards for UML 2.0, it is an appropriate time to consider UML standards for aspect-oriented elements. This paper considers how aspect-...
متن کاملAspect-Oriented Modeling of Mutual Exclusion in UML State Machines
Mutual exclusion is a very common requirement in parallel systems. Yet its modeling is a tedious task in UML state machines, one of the most popular languages for behavior modeling. We present HiLA, an aspect-oriented extension of UML state machines, to address this problem. In HiLA, mutual exclusion can be modeled in a highly modular and declarative way. That is, the logic of mutual exclusion ...
متن کاملExtending Unified Modeling Language to Support Aspect-Oriented Software Development
Aspect-Oriented Software Development (AOSD) is continuously gaining more importance as the complexity of software systems increases and requirement changes are highrated. A smart way for making reuse of functionality without additional effort is separating the functional and non functional requirements. Aspect-oriented software development supports the capability of separating requirements base...
متن کاملFrom AOP to UML: Towards an Aspect-Oriented Architectural Modeling Approach
Capturing concerns that crosscut the boundaries of multiple components in software architecture descriptions is problematic. Standard description languages, such as UML, do not provide adequate means to understand and modularize such concerns, but aspect-oriented programming techniques do. This paper explores and analyzes the suitability of UML for aspect-oriented architectural modeling. It tak...
متن کاملFrom AOP to UML - A Bottom-Up Approach
This position paper takes a bottom-up approach that analyzes the suitability of UML for modeling aspect-oriented software, and compares it with the UML support for modeling object-oriented software. We first introduce the basic concepts of AspectJ, a state-of-the-art aspect-oriented programming language, and then take a naïve approach using standard UML, as it is, for modeling these concepts. A...
متن کامل